草庐IT

mongodb - Meteor.Collection 和 Meteor.Collection.Cursor

全部标签

mongodb - 计算给定地理多边形内的$平均值

我正在尝试计算给定多边形内的值:实际上我正在使用这个管道:'aggregation':{'pipeline':[{"$match":{"location":"$loc"}},{"$group":{"_id":'Average',"AvgField":{"$avg":"$myavgvalue"},"count":{"$sum":1}}},]}但$match似乎忽略了地理空间索引。知道我该怎么做吗?最好的问候哈拉尔德 最佳答案 您需要使用?aggregate={"$loc":...}查询语法,以便解析器知道它必须调用聚合引擎而不是标准查

java - 相当于 MongoCursor 快照的 MongoDB Java 驱动程序

将我的MongoDBJava驱动程序从2.14版升级到3.2版后,我不再使用DBCursor。至MongoCursor.以前,我使用snapshot()来防止在遍历包含数千个文档的大型数据库时出现重复。但是,我似乎找不到MongoCursor的等效方法。这会导致令人不安的重复,例如4493个文档的5571个循环。这相当于多了24%的迭代!天哪!所以,我的问题是,MongoCursor是否有一种简单的方法或等效方法可以防止这种情况发生?如果不是,我应该切换回使用DBCursor吗?它看起来在3.2版本中仍然受支持。请多多指教!谢谢! 最佳答案

mongodb 获取最后插入的文档

这个Meteor代码试图找到集合中的最后一个文档。.find({userId:this.userId},{sort:{createdAt:-1},limit:1});但由于所有文档都是按时间顺序排列的,我想删除createdAt字段,所以一旦“删除”,是否有一种“不昂贵”的方法只返回最后输入的文档?谢谢{userId:'someId',info:'someInfo'}myCol.findLast().info;$last(aggregation)在文档中首先进行排序编辑尝试利用StephenWoods给出的想法;服务器.jsMyCol._ensureIndex({createdAt:-

node.js - 在 Node 中存储来自 mongoDB 的集合结果

我是node新手,我已经成功从mongoDB读取数据。但我想将集合中的全部数据存储到nodejs中的一个变量中,因为我想在索引页面中使用它们。不知道怎么保存。//ConnectionURLvarurl='mongodb://localhost:27017/test';//UseconnectmethodtoconnecttotheServerMongoClient.connect(url,function(err,db){assert.equal(null,err);console.log("Connectedcorrectlytoserver");seriescollection=d

mongodb - 按数组对文档进行分组,将数组视为一个集合

我有一个听起来相当简单的任务,我想使用MongoDB的聚合管道来完成。我想将一个字段中的数组视为集合(即忽略顺序和重复项),并按它们分组。例如,集合可能是:[{_id:1names:["a","b"]},{_id:2names:["c","a"]},{_id:3names:["b","a"]}]我想要返回的结果是这样的:[{names:["a","b"],count:2},{names:["a","c"],count:1}]谢谢! 最佳答案 您需要$sort结果使它们对于分组键保持一致。真的没有别的办法了:db.collection

mongodb - 如何将 Mongo DB 引擎 mmapv1 升级为有线触发器?

我有带mmapv1引擎的mongodb3.0.7。现在我想升级到有线触发器。我的操作系统(OS)是WindowsServerR22012。谁能提供升级MongoDBEngine的详细步骤?提前致谢:-) 最佳答案 如果您没有使用复制。1-您需要备份您的数据库:mongodump-ddb_nameYOUR_BACKUP_LOCATIONmongodumpdocumentation2-停止MongoDB服务3-更改配置storage:dbPath:"YOUR_LOCATION"engine:wiredTiger使用新位置。如果出现问题,

c# - MongoDB:是否可以只处理一个属性的自定义反序列化器?

我已经进行了一些谷歌搜索,但仍然一无所获。设置自定义序列化程序非常容易,但如何处理类的一个属性的自定义反序列化? 最佳答案 你可以使用投影来实现,这里是一个Slazure示例:首先,安装SlazureNuGet包:PM>Install-PackageSlazure.MongoDB然后在VisualStudio中运行以下C#代码示例:usingSystem;usingSystem.Linq;usingMongoDB.Bson;usingSysSurge.Slazure.Core.Linq.QueryParser;usingSysSur

node.js - 我可以将 Mongoose 连接到分片的 MongoDB 实例吗?

使用Mongoose@4.2.6,我想连接到一个分片的MongoDB实例。consturl="mongodb://user:pass@localhost:27022,localhost:27023/db";//ThisneverresolvesMongoose.connect(url,(err,db)=>{...});当我使用nativeMongoDB@2.0.48库(与Mongoose使用的版本相同)建立连接时,它可以正常工作。consturl="mongodb://user:pass@localhost:27022,localhost:27023/db";//Thisresolve

javascript - meteor 在 mongodb 数据库上获得双重插入

以下代码是将有关费用和已完成任务的信息收集到账单数据库中的事件。每次我运行这个过程时,我都会在账单数据库中获得2个条目。第一个条目总是空的,第二个条目有我想要的条目。'click.ConfirmCloseCase':function(event){varcaseID=Session.get('CurrentClosingCaseID');varTasksToChange=Tasks.find({caseID:caseID,done:true,billed:false});varExpensesToChange=Expenses.find({caseID:caseID,billed:fa

node.js - mongodb shell 和 node.js 中的相同查询表现不同

为什么会这样?对这种差异有合理的解释吗?例如我有一个数据库结构;{id:"1"category:{name:"name1"groups:[{groupName:"groupName1"title:""},{groupName:"groupName2"title:""}]}}查询如下;db.collection.aggregate({$unwind:"$category.groups"},{$match:{"category.groups.groupName":"groupName2","category.name":"name1"}})在mongoshell中它返回为;{id:"1"c